package qnb.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import qnb.entity.Course1;
import qnb.entity.Course2;

public interface Course12Dao {

	/**
	 * 表头：添加
	 * @param obj Course1
	 * @return int
	 */
	int insertCourse1(Course1 obj);
	
	/**
	 * 表头：修改
	 * @param obj Course1
	 * @return int
	 */
	int updateCourse1(Course1 obj);
	
	/**
	 * 表头：删除
	 * @param id 表头主键
	 * @return int
	 */
	int dellCourse1(int id);
	
	/**
	 * 表头：查询一个，通过主键
	 * @param id 主键 
	 * @return int
	 */
	public Course1 select1ById(
			//条件
			@Param("id") int id);
	
	/**
	 * 表头：查询
	 * @param where 条件
	 * @param oderby 排序
	 * @param page 页码
	 * @param pageSize 记录数/页
	 * @return List
	 */
	List<Course1> select1(
			//条件
			@Param("where") String where,
			//排序
			@Param("oderby") String oderby,
			//分页
			@Param("page") int page,@Param("pageSize") int pageSize);
	
	/**
	 * 表头：查询总记录数
	 * @param where 条件
	 * @return int
	 */
	public int select1Count(
			//条件
			@Param("where") String where);
	
//--------------------------------------------------	
	/**
	 * 表体：添加
	 * @param course1Id 表头主键
	 * @param list 表体Course2集合
	 * @return int
	 */
	int insertCourse2(
			@Param("course1Id") int course1Id,
			@Param("list") List<Course2> list);
	
	/**
	 * 表体：通过表头主键进行删除
	 * @param  id int表头的主键
	 * @return int
	 */
	int dellCourse2(int id);
	
	/**
	 * 表体：通过表头主键查询
	 * @param course1Id 表头主键
	 * @return List
	 */
	List<Course2> select2ByCourse1Id(int course1Id);
	
}
